Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Context-Adaptive Binary Arithmetic Coding</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Context-Adaptive_Binary_Arithmetic_Coding"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Context-Adaptive_Binary_Arithmetic_Coding rootpage-Context-Adaptive_Binary_Arithmetic_Coding skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Context-Adaptive Binary Arithmetic Coding</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><b>CABAC</b> (<b>Context-based Adaptive Binary Arithmetic Coding</b>) beschreibt eine effektive Art der verlustfreien <a href="Datenkompression" title="Datenkompression">Komprimierung</a> von Binärdateien. Der Referenz-Algorithmus für CABAC wurde von der <a href="ITU-T" class="mw-redirect" title="ITU-T">ITU-T</a> und der <a href="ISO" class="mw-redirect" title="ISO">ISO</a>/<a href="International_Electrotechnical_Commission" title="International Electrotechnical Commission">IEC</a> im Zuge der Standardisierung des Videocodecs <a href="H.264" title="H.264">MPEG-4/Part10 (H.264/AVC)</a> entwickelt.
</p><p>Wie der Name andeutet, handelt es sich bei CABAC um eine auf Binärdaten spezialisierte <a href="Arithmetische_Kodierung" class="mw-redirect" title="Arithmetische Kodierung">arithmetische Kodierung</a>, die ihre Kodiertabellen kontextabhängig ändern kann. Wie alle arithmetischen Kodierer ist auch CABAC ein <a href="Entropiekodierung" title="Entropiekodierung">Entropiekodierer</a>. Im Vergleich zur bekannten Entropiekodierung nach <a href="Huffman-Code" class="mw-redirect" title="Huffman-Code">Huffman</a> schneidet CABAC wesentlich besser ab, ist aber auch um ein Vielfaches rechenintensiver.
</p>

<div class="mw-heading mw-heading2"><h2 id="Funktionsweise">Funktionsweise</h2></div>
<p>Das Codieren eines Datensymbols mit CABAC umfasst die folgenden Schritte:<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
<ul><li>Binarisierung: CABAC verwendet Binary Arithmetic Coding, was bedeutet, dass nur binäre Entscheidungen (0 oder 1) codiert werden. Ein nicht-binäres Symbol wird „binarisiert“ oder vor der <a href="Arithmetische_Kodierung" class="mw-redirect" title="Arithmetische Kodierung">arithmetischen Kodierung</a> in einen <a href="Bin%C3%A4rcode" title="Binärcode">Binärcode</a> umgewandelt. Dieser Prozess ähnelt dem Prozess der Umwandlung eines Datensymbols in einen Code variabler Länge, aber der Binärcode wird vor der Übertragung durch den arithmetischen Kodiererweiter codiert. Die Schritte 2, 3 und 4 werden für jedes Bit des binarisierten Symbols wiederholt.</li>
<li>Auswahl des Kontextmodells: Ein Kontextmodell ist ein Wahrscheinlichkeitsmodell für eine oder mehrere Bits des binarisierten Symbols. Dieses Modell kann aus einer Auswahl verfügbarer Modelle in Abhängigkeit von der Statistik kürzlich codierter Datensymbole ausgewählt werden. Das Kontextmodell speichert die <a href="Wahrscheinlichkeit" title="Wahrscheinlichkeit">Wahrscheinlichkeit</a>, dass jedes Bit 0 oder 1 ist.</li>
<li><a href="Arithmetische_Kodierung" class="mw-redirect" title="Arithmetische Kodierung">Arithmetische Kodierung</a>: Ein arithmetischer Kodierer codiert jedes Bit gemäß dem ausgewählten Wahrscheinlichkeitsmodell. Es gibt nur zwei Unterbereiche für jedes Bit (entsprechend 0 und 1).</li>
<li>Aktualisierung der <a href="Wahrscheinlichkeit" title="Wahrscheinlichkeit">Wahrscheinlichkeit</a>: Das ausgewählte Kontextmodell wird basierend auf dem tatsächlichen codierten Wert aktualisiert.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Die_Buchstaben_CABAC_aufgeschlüsselt"><span id="Die_Buchstaben_CABAC_aufgeschl.C3.BCsselt"></span>Die Buchstaben CABAC aufgeschlüsselt</h2></div>
<p>Kontextbasierende adaptive (<b>CA</b>BAC) Kodierung verweist auf die Möglichkeit des Kodierers, seine Kodiertabellen während des Kodiervorgangs dynamisch an das zu kodierende Material anpassen zu können.
</p><p>Binäre (CA<b>B</b>AC) Kodierung zeigt an, dass dieser Kodierer nur für binäre Daten funktioniert. Daten, die in einem anderen Format vorliegen, müssen zuerst in eine binäre Darstellung umgewandelt werden.
</p><p>Arithmetische Kodierung (CAB<b>AC</b>) ist eine äußerst effektive Art der Entropiekodierung.
</p>
<div class="mw-heading mw-heading2"><h2 id="CABAC_und_H.264">CABAC und H.264</h2></div>
<p>In den Profilen <a href="H.264#Profile" title="H.264">"Main Profile"</a> und <a href="H.264#Profile" title="H.264">"High Profile"</a> des Videostandards <a href="H.264" title="H.264">MPEG-4/Part10 (H.264/AVC)</a> wird CABAC eingesetzt und ist dort mit verantwortlich für die gute Bildqualität, die hohe Kompressionsrate und den hohen Rechenaufwand.
</p><p>In den niedrigeren Profilen des Videostandards H.264 kommt das einfachere Kodierverfahren <a href="CAVLC" class="mw-redirect" title="CAVLC">CAVLC</a> (Context-Adaptive Variable Length Coding) zum Einsatz.
</p>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>Iain E. G. Richardson: <cite class="lang" lang="en" dir="auto" style="font-style:italic">H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia</cite>. John Wiley &amp; Sons Ltd., Chichester 2003 (englisch).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:Context-Adaptive+Binary+Arithmetic+Coding&amp;rft.au=Iain+E.+G.+Richardson&amp;rft.btitle=H.264+and+MPEG-4+Video+Compression%3A+Video+Coding+for+Next-generation+Multimedia&amp;rft.date=2003&amp;rft.genre=book&amp;rft.place=Chichester&amp;rft.pub=John+Wiley+%26+Sons+Ltd." style="display:none">&nbsp;</span></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://www.staroceans.org/e-book/vcodex/H264_cabac_wp.pdf">CABAC in H.264, englisch</a> (PDF; 15 kB)</li>
<li><a rel="nofollow" class="external text" href="https://iphome.hhi.de/marpe/download/cabac_ieee03.pdf">CABAC, englisch</a> (PDF; 829 kB)</li>
<li><a rel="nofollow" class="external text" href="http://www.paradiso-design.net/H264_AVC.html">Übersicht über die H.264 Profile</a></li>
<li><a rel="nofollow" class="external text" href="http://hpl.hp.com/techreports/2004/HPL-2004-76.pdf">Arithmetische Kodierung (HP), englisch</a> (PDF; 451 kB)</li>
<li><a rel="nofollow" class="external text" href="http://www.xilinx.com/support/documentation/ip_documentation/h264_cabac_ds603.pdf">CABAC Encoderchip von XILINX, englisch</a> (PDF; 3,79 MB)</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text">Vcodex: <a rel="nofollow" class="external text" href="https://www.vcodex.com/h264avc-context-adaptive-binary-arithmetic-coding-cabac/">H.264/AVC Context Adaptive Binary Arithmetic Coding (CABAC)</a></span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-08-02" href="https://de.wikipedia.org/wiki/?title=Context-Adaptive_Binary_Arithmetic_Coding&amp;oldid=258533187">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>